1. Field of the Invention
This invention relates to computer animation techniques and more specifically to improved techniques for the generation and animation of linear items such as hair, fur, grass, rope and antennae.
2. Description of the Prior Art
Creating lifelike digital representations of creatures with hair poses difficult problems in the field of computer graphics. (Herein, we use the term xe2x80x9chairxe2x80x9d broadly, so as to encompass hair, fur, and the like.) Achieving a high degree of visual realism demands that the computer-generated image reflect lifelike dynamics, deviations and imperfections with respect to characteristics including shape, texture, color, lighting, separation, movement and curvature, all at the granular level of individual hairs. However, because a typical image literally involves millions of individual hairs, it has in the past seemed impractical from a computational standpoint to apply this degree of high fidelity computer graphics modeling to hair. Conventional solutions are generally unsatisfactory for important applications where high fidelity is critical, such as providing computer graphics special effects for motion pictures.
Another related challenge is the need to integrate hair elements with other scene elements in a consistent manner. For example, hair elements created through the use of computer graphics techniques should exhibit characteristics such as motion blur and shadowing to the same extent that other objects in the scene do. Otherwise, image realism can be compromised.
The failure of prior art techniques to take individual hair characteristics into account, and to integrate hair properly with other scene elements, has typically resulted in special effects which are all too obvious to motion picture viewers, and therefore unconvincing.
What is needed is a technique for modeling, animating and rendering hair images in a manner that is both highly realistic as well as computationally practical. Such a methodology could prove equally valuable in analogous computer graphics applications, wherever it is desired to represent images made up of a relatively high density of individual image elements having both common and independent image characteristics.
Computer modeling the motion of flexible linear items such as rope, cable, antennae and the like can be a very complex problem. For many applications such as computer animation, a simple dynamic model is used to model the physics of motion and the dynamic model is then used to render a final image having all the desired complexity of a real surface. Conventional computer animation techniques have two approaches. In the first, highly accurate dynamic models are used that require vast computer processing capacity and yield fairly realistic results. In the second conventional technique, simplistic two-dimensional models are used that have modest computer processing needs and yield imprecise results.
The simplistic conventional dynamic modeling techniques have difficulty representing linear flexible items whose dynamics are strongly influenced by their three dimensional nature.
What is needed is a computationally efficient dynamic model for representing flexible linear items.
The present invention provides a technique for creating lifelike digital representations of three-dimensional scenes that include numerous fine-grained objects such as hair, feathers, fur and grasses. Steps and means are described by which individualized geometric models are defined for a selected, manageable subset of the fine-grained objects. Using interpolation based upon these defined geometric models, geometries are subsequently generated for the full set of fine-grained objects. Rendering techniques are then used to generate two-dimensional image projections of these geometries, as seen from a specified point of view. These steps of geometric interpolation and rendering may be performed in an iterative manner, such that the numerous fine-grained objects are processed and rendered portion by portion, thereby greatly reducing the computational complexity of the task.
Other aspects of the invention include the use of depth information regarding individual hairs for purposes of performing accurate rendering. Selected portions of depth information are also retained and utilized in order to composite, in a reasonably accurate manner, the rendered hair image projections together with other three-dimensional scene elements. A further feature of the invention allows users to texture map hair parameters such as hair color, density, and light reflecting properties over the surface containing the hair. These hair parameters allow the user additional control over the process of hair generation and rendering described above.
In another aspect, the present invention provides a hair damping formulation based on two terms, one of these provides distribution of momentum along the hair during the integration and is equivalent to a traditional bending association. The other term, the xe2x80x9chair bodyxe2x80x9d, is a drag term which is generally small and provides a velocity drag to the velocity of the non-simulated, enveloped, position of the hair. The key element of these two formulations is that when used together they provide the appearance of hair to hair coupling without the significant computational expenses associated with true hair to hair coupling.
In still another aspect, the present invention includes two restoring forces implemented in a simulation of flexible linear items. The first of these forces is a spring based stretching force that acts only in the direction of segments of the linear item or items and is equivalent to tensile stiffness in cloth simulations. The second force is a target based stiffness which combines conventional bending stiffness elements. The target position for this force is determined by taking the enveloped orientation and length of a segment of a linear item and rotating it by an angle needed to rotate the segment of a linear item one closer to the orientation of a base or root end of the linear item from its enveloped orientation to its current orientation. This rotated segment is then used as a position vector starting from the current position of the base of the segment to provide an anchor position for a spring that combines bending and tensile stiffness.
When used together these two formulations can achieve a wide range of physical properties. For example a stretchy, bouncy look can be achieved with a negative tensile stiffness offsetting a larger target stiffness, and limp, rope like behavior can be achieved with large tensile stiffness and small target stiffness.
These and other features and advantages of this invention will become further apparent from the detailed description and accompanying figures that follow. In the figures and description, numerals indicate the various features of the invention, like numerals referring to like features throughout both the drawings and the description.